package com.sucisoft.base;

import android.app.Application;
import android.content.Context;

import com.sucisoft.base.application.AppBugly;
import com.sucisoft.base.application.AppJPush;
import com.sucisoft.base.application.AppSophix;
import com.sucisoft.base.imageloder.GlideImage;
import com.sucisoft.base.network.report.OkGORequest;
import com.taobao.sophix.SophixManager;


/**
 * 2033152950
 * Created by zf on 2017/12/18.
 */

public class MyApplication extends Application {

    private static Context context;

    public static Context getContext() {
        return context;
    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        //第三方添加 addHelper中添加第三方应用
        //bugly
        Helper.addHelper(new AppBugly());
        //推送
        Helper.addHelper(new AppJPush());
        //热修复
        Helper.addHelper(new AppSophix());
        //instance（）初始化对象 以便调用
        Helper.instance(base, this);
        //添加自定义网络请求框架
        Helper.addHttp(new OkGORequest(this));
        //添加自定义图片加载框架
        Helper.addImage(new GlideImage());
        //obtian() 方法拿全局实例对象
        //attach（）方法必须在addHelper所有添加完以后在调用 attach写在application中的attachBaseContext方法；
        Helper.obtian().attach();
    }

    @Override
    public void onCreate() {
        super.onCreate();
        //init（） 写在application中的onCreate（）方法；
        context = this;
        Helper.obtian().init();

        SophixManager.getInstance().queryAndLoadNewPatch();
    }

}
